#ifndef STATE_H_
#define STATE_H_

#include "point.h"

/*
 * Struktura reprezentující stav zpracování.
 */
typedef struct{
	/* depth = počet umístěných bodů */
	int depth;
	/* statePoints = souřadnice umístěných bodů */
	Point *statePoints;
	/* value = součet vzdáleností mezi všemi body ve stavu */
	double value;
} State;

State *allocateState(int depth);
State *childState(State* state, int x, int y);
void freeState(State *state);
void printState(State *state);

#endif
